package com.yotouch.app.stake.model;

import com.yotouch.core.model.EntityModel;

import java.util.Date;

/**
 * 充电桩
 */
public class Stake extends EntityModel {

    /**
     * 名称
     */
    String name;

    /**
     * 站
     */
    Station station;

    /**
     * 运营商
     */
    Operator operator;

    /**
     * 生产厂家
     */
    Vendor vendor;

    /**
     * 设备型号
     */
    String equipModel;

    /**
     * 生产日期
     */
    Date productionDate;

    /**
     * 设备类型
     * 1：直流设备 
     * 2：交流设备 
     * 3：交直流一体设备
     */
    Integer type;

    /**
     * 经度 #调用GIS服务器提供接口写入
     */
    Double lng;

    /**
     * 纬度 #调用GIS服务器提供接口写入
     */
    Double lat;

    /**
     * 海拔高度
     */
    Double altitude;

    /**
     * 充电设备总功率
     */
    Double power = 0.0;

    /**
     * 状态
     *   正常
     *   停运
     */
    int stakeStatus;

    /**
     * 产权单位
     */
    String prOrgName;

    /**
     * 付费模型
     */
    ChargerFeeModel chargerFeeModel;

    /**
     * 付费模型，价格区间
     */
    String chargerFee;

    /**
     * 服务费模型
     */
    ServiceFeeModel serviceFeeModel;

    /**
     * 服务费区间
     */
    String serviceFee;

    /**
     * 注册码
     */
    Registration registration;

    /**
     * 授权码 
     */
    String authCode;

    /**
     * 桩编号
     */
    String stakeNo;

    /**
     * 公司名称
     */
    String company;

    /**
     * 适用车型
     */
    String matchCars;

    /**
     * 运行编号
     */
    String runNum;

    /**
     * 桩分组
     */
    String stakeGroup;

    /**
     * 枪编号
     * 注意：此字段当且仅当在新桩注册时会设置值，其他场景为空
     */
    String chargerNo;


    /**
     * 是否第三方
     */
    int isThird ;

    /**
     * 产权单位编码
     *     组织机构编码
     */
    String prOrgCode ;

    /**
     * 管理单位
     */
    String manageOrgCode ;

    /**
     * 厂商名称
     */
    String vendorName ;

    /**
     * 最大输出电压
     */
    Double maxOutVolt ;

    /**
     * 互联互通桩编号
     *
     */
    String outStakeNo ;


    /**
     * 管理单位名称
     *
     */
    String manageOrgName;


    /**
     * 是否高速， 1 - 高速，2 - 其他
     */
    int isGs;

    /**
     * 桩类型，1 - 专用，2 - 公用
     */
    int stakeType;

    /**
     * 高速编码
     */
    String gsCode;

    public String getGsCode() {
        return gsCode;
    }

    public void setGsCode(String gsCode) {
        this.gsCode = gsCode;
    }

    public int getIsGs() {
        return isGs;
    }

    public void setIsGs(int isGs) {
        this.isGs = isGs;
    }
    
    public String getManageOrgName() {
        return manageOrgName;
    }

    public void setManageOrgName(String manageOrgName) {
        this.manageOrgName = manageOrgName;
    }

    public String getOutStakeNo() {
        return outStakeNo;
    }

    public void setOutStakeNo(String outStakeNo) {
        this.outStakeNo = outStakeNo;
    }

    public Double getMaxOutVolt() {
        return maxOutVolt;
    }

    public void setMaxOutVolt(Double maxOutVolt) {
        this.maxOutVolt = maxOutVolt;
    }

    public String getVendorName() {
        return vendorName;
    }

    public void setVendorName(String vendorName) {
        this.vendorName = vendorName;
    }

    public String getManageOrgCode() {
        return manageOrgCode;
    }

    public void setManageOrgCode(String manageOrgCode) {
        this.manageOrgCode = manageOrgCode;
    }

    public String getPrOrgCode(){
        return this.prOrgCode ;
    }

    public void setPrOrgCode(String prOrgCode){
        this.prOrgCode = prOrgCode ;
    }

    public int getIsThird(){
        return this.isThird ;
    }

    public void setIsThird(int isThird){
        this.isThird = isThird ;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEquipModel() {
        return equipModel;
    }

    public void setEquipModel(String equipModel) {
        this.equipModel = equipModel;
    }

    public Date getProductionDate() {
        return productionDate;
    }

    public void setProductionDate(Date productionDate) {
        this.productionDate = productionDate;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Double getLng() {
        return lng;
    }

    public void setLng(Double lng) {
        this.lng = lng;
    }

    public Double getLat() {
        return lat;
    }

    public void setLat(Double lat) {
        this.lat = lat;
    }

    public Double getAltitude() {
        return altitude;
    }

    public void setAltitude(Double altitude) {
        this.altitude = altitude;
    }

    public Double getPower() {
        return power;
    }

    public void setPower(Double power) {
        this.power = power;
    }

    public Station getStation() {
        return station;
    }

    public void setStation(Station station) {
        this.station = station;
    }

    public Vendor getVendor() {
        return vendor;
    }

    public void setVendor(Vendor vendor) {
        this.vendor = vendor;
    }

    public int getStakeStatus() {
        return stakeStatus;
    }

    public void setStakeStatus(int stakeStatus) {
        this.stakeStatus = stakeStatus;
    }

    public String getPrOrgName() {
        return prOrgName;
    }

    public void setPrOrgName(String prOrgName) {
        this.prOrgName = prOrgName;
    }

    public ChargerFeeModel getChargerFeeModel() {
        return chargerFeeModel;
    }

    public void setChargerFeeModel(ChargerFeeModel chargerFeeModel) {
        this.chargerFeeModel = chargerFeeModel;
    }

    public ServiceFeeModel getServiceFeeModel() {
        return serviceFeeModel;
    }

    public void setServiceFeeModel(ServiceFeeModel serviceFeeModel) {
        this.serviceFeeModel = serviceFeeModel;
    }

    public Registration getRegistration() {
        return registration;
    }

    public void setRegistration(Registration registration) {
        this.registration = registration;
    }

    public String getAuthCode() {
        return authCode;
    }

    public void setAuthCode(String authCode) {
        this.authCode = authCode;
    }

    public String getStakeNo() {
        return stakeNo;
    }

    public void setStakeNo(String stakeNo) {
        this.stakeNo = stakeNo;
    }

    public Operator getOperator() {
        return operator;
    }

    public void setOperator(Operator operator) {
        this.operator = operator;
    }

    public String getChargerFee() {
        return chargerFee;
    }

    public void setChargerFee(String chargerFee) {
        this.chargerFee = chargerFee;
    }

    public String getServiceFee() {
        return serviceFee;
    }

    public void setServiceFee(String serviceFee) {
        this.serviceFee = serviceFee;
    }

    public String getMatchCars() {
        return matchCars;
    }

    public void setMatchCars(String matchCars) {
        this.matchCars = matchCars;
    }

    public String getRunNum() {
        return runNum;
    }

    public void setRunNum(String runNum) {
        this.runNum = runNum;
    }

    public String getStakeGroup() {
        return stakeGroup;
    }

    public void setStakeGroup(String stakeGroup) {
        this.stakeGroup = stakeGroup;
    }

    public String getChargerNo() {
        return chargerNo;
    }

    public void setChargerNo(String chargerNo) {
        this.chargerNo = chargerNo;
    }

    public int getStakeType() {
        return stakeType;
    }

    public void setStakeType(int stakeType) {
        this.stakeType = stakeType;
    }
}
